﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DADOS.auxiliares;
using DADOS.unidade;

namespace PROAD.admin.Consulta
{
    public partial class consultaUnidadeCadastrada : System.Web.UI.Page
    {

        metUnidade metUnidade = new metUnidade();
        metEndereco metEndereco = new metEndereco();
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CarregarDdlUf();
                ddlMunicipio.Enabled = false;
                PesquisarUnidadeTotal();
            }
        }

        /// <summary>
        /// Carregar a DDL UF
        /// </summary>
        protected void CarregarDdlUf()
        {
            var list = metEndereco.ListaUF();
            ddlUf.DataSource = list;
            ddlUf.DataBind();
            ddlUf.Items.Insert(0, new ListItem("Todas UF", "0"));
        }

        /// <summary>
        /// Carregar a DDL Município
        /// </summary>
        /// <param name="intCodUf">int Código da UF</param>
        protected void CarregarDdlCidade(int intCodUf)
        {
            var list = metEndereco.ListaCidade(intCodUf);
            ddlMunicipio.DataSource = list;
            ddlMunicipio.DataBind();
            ddlMunicipio.Items.Insert(0, new ListItem("Todas Cidades", "0"));
        }

        protected void ddlUf_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlUf.SelectedValue != "0")
            {
                CarregarDdlCidade(Convert.ToInt32(ddlUf.SelectedValue));
                ddlMunicipio.Enabled = true;
            }
            else
            {
                CarregarDdlCidade(0);
                ddlMunicipio.SelectedValue = "0";
                ddlMunicipio.Enabled = false;
            }
        }

        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            PesquisarUnidadeTotal();
        }

        public void PesquisarUnidadeTotal()
        {
            int intCodMun = 0;

            if (ddlMunicipio.SelectedValue != "")
            {
                intCodMun = Convert.ToInt32(ddlMunicipio.SelectedValue);
            }
            gridUs.DataSource = metUnidade.Lista(txtNome.Text, Convert.ToInt32(ddlUf.SelectedValue), intCodMun);
            gridUs.DataBind();
        }

        protected void gridUs_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int id = Convert.ToInt32(e.CommandArgument);

            switch (e.CommandName)
            {
                case  "Editar":
                    Response.Redirect("/admin/Forms/FormUsb.aspx?cod=" + id);
                    break;
                case "Status":
                    metUnidade.TrocarStatus(id);
                    PesquisarUnidadeTotal();
                    break;
            }
        }

        protected void gridUs_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                var objCidade = metEndereco.SelecionarCidade(Convert.ToInt32(e.Row.Cells[3].Text));
                var objUf = metEndereco.SelecionarUF(Convert.ToInt32(e.Row.Cells[4].Text));

                e.Row.Cells[3].Text = objCidade.NO_CIDADE;
                e.Row.Cells[4].Text = objUf.NO_SIGLA;

            }
        }
    }
}